package Top200;

import common.ListNode;

/**
 * @author zhangmin
 * @create 2022-02-17 10:26
 * 递归
 */
public class addTwoNumbers02 {
    ListNode add(ListNode l1,ListNode l2,int pre){
        if (l1==null&&l2==null&&pre==0) return null;
        int num1=0, num2=0;
        if (l1!=null){
            num1=l1.val;
            l1=l1.next;
        }
        if (l2!=null){
            num2=l2.val;
            l2=l2.next;
        }
        int sum=num1+num2+pre;
        pre=sum/10;
        int cur=sum%10;
        ListNode node=new ListNode(cur);
        node.next=add(l1,l2,pre);
        return node;
    }

    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        return add(l1,l2,0);
    }

}
